#ifndef _HeadsUpDisp_H_
#define _HeadsUpDisp_H_

#include "grid.hpp"

class HeadsUpDisp
{
public:
	enum Element
	{
		NUMBER,
		NUM_LIVES = NUMBER,
		NUM_SCORE,
		NUM_AMMO,
		NUM_EXTSCORE,
		NUMCT,

		GAUGE = NUMCT,
		GAUGE_HP = GAUGE,
		GAUGE_BHP,
		NUMGAUGECT,

		ICON = NUMGAUGECT,
		ICON_PLR = ICON,
		ICON_AMMO,
		ICON_SHOTBOXL,
		ICON_SHOTBOXR,
		ICON_SHOT,
		ICON_BOSS,

		ELEMCT
	};

	bool Open();

	void Init();

	void Update();

	void Out(float upfrac);

	void Put(int elem, int val);
	void IconSet(int icon, int n);

private:
	int drawvals[NUMGAUGECT];
	int vals[NUMGAUGECT];

	Grid grid;
};

extern HeadsUpDisp HUD;

#endif
